Release the domains_lock properly when get_dev_property_by_uuid fails.
authorEwan Mellor <ewan@xensource.com>
Fri, 23 Mar 2007 16:54:34 +0000 (16:54 +0000)
committerEwan Mellor <ewan@xensource.com>
Fri, 23 Mar 2007 16:54:34 +0000 (16:54 +0000)
Signed-off-by: Ewan Mellor <ewan@xensource.com>
tools/python/xen/xend/XendDomain.py

index 5f99db8941e3b6010beed0190ecedff2ae08f8b5..d0c0dd1daf2a974714a2fc03f52d311745640e67 100644 (file)
@@ -653,14 +653,16 @@ class XendDomain:
     def get_dev_property_by_uuid(self, klass, dev_uuid, field):
         value = None
         self.domains_lock.acquire()
-        try:
-            dom = self.get_vm_with_dev_uuid(klass, dev_uuid)
-            if dom:
-                value = dom.get_dev_property(klass, dev_uuid, field)
-        except ValueError, e:
-            pass
 
-        self.domains_lock.release()
+        try:
+            try:
+                dom = self.get_vm_with_dev_uuid(klass, dev_uuid)
+                if dom:
+                    value = dom.get_dev_property(klass, dev_uuid, field)
+            except ValueError, e:
+                pass
+        finally:
+            self.domains_lock.release()
         
         return value